home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / ISSUE13 / CLINIC / NETUSERU.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1996-08-01  |  1.2 KB  |  65 lines

  1. unit NetUserU;
  2.  
  3. interface
  4.  
  5. uses
  6.   WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Label1: TLabel;
  12.     Label2: TLabel;
  13.     procedure FormCreate(Sender: TObject);
  14.   private
  15.     { Private declarations }
  16.   public
  17.     { Public declarations }
  18.   end;
  19.  
  20. var
  21.   Form1: TForm1;
  22.  
  23. implementation
  24.  
  25. uses
  26.   DbiProcs, DbiTypes, DB;
  27.  
  28. {$R *.DFM}
  29.  
  30. function GetBDENetUserName: String;
  31. var
  32.   Name: array[0..dbiMaxUserNameLen] of Char;
  33. begin
  34.   Check(DbiGetNetUserName(Name));
  35.   Result := StrPas(Name);
  36. end;
  37.  
  38. {$ifndef Win32}
  39. function WNetGetUser(lpUserName: PChar; var lpnLength: Integer): Word;
  40.   far; external 'USER';
  41. {$endif}
  42.  
  43. function GetNetUserName: String;
  44. var
  45.   Len: Integer;
  46.   Name: array[0..255] of Char;
  47. begin
  48.   Len := SizeOf(Name);
  49.   WNetGetUser({$ifdef Win32}nil, {$endif}Name, Len);
  50.   Result := StrPas(Name);
  51. end;
  52.  
  53. procedure TForm1.FormCreate(Sender: TObject);
  54. begin
  55.   Label1.Caption := GetNetUserName;
  56. {$ifdef Win32}
  57.   { No database operations done yet, so in Delphi 2 we
  58.     need to open the session to avoid nasty error message }
  59.   Session.Open;
  60. {$endif}
  61.   Label2.Caption := GetBDENetUserName;
  62. end;
  63.  
  64. end.
  65.